home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 033a / binkspit.zip / BINKSPIT.DOC < prev    next >
Text File  |  1991-09-29  |  30KB  |  671 lines

  1.  
  2.  
  3.                                INTRODUCTION
  4.  
  5.      I have been running a Spitfire/BinkleyTerm setup for a while now (since
  6. 1989, before anyone told me "You can't do that!" [grin].) I have worked out
  7. most of the bugs in the setup, even though there are a few things that I
  8. haven't tried yet, such as the Floating Locked baud feature in the new Binkley.
  9. I use BinkleyTerm 2.50 as the mailer, Spitfire (of course!!) as the BBS
  10. software, Dogfight to handle messages in FIDONet for the BBS, and QMail to
  11. handle the mail for my Hub duties. I started on an XT Clone with a 2400 baud
  12. modem. I now run it on an AT '286 home-built clone with DOS version 5.0, 1 meg
  13. of memory, and a USR Dual Standard locked at 19200. In case you are wondering
  14. if this setup can work for someone who wants to be a hub, yes, I am the
  15. Southern Maryland Local Hub, FIDONet Node 1:109/600. It CAN be done, and it's
  16. easy! First, let's tackle BinkleyTerm 2.50.
  17.  
  18. 1)  Setting up BinkleyTerm 2.50
  19.  
  20.     OK, you have decided to try out Bink and Spitfire together to see if you
  21. can make it work, because you want to join the largest Computer Network in the
  22. WORLD, FIDONet. Then you look at the Doc's for Binkley, and think to yourself
  23. "AAAAAAAAAAAARRRRRRRRRRRRGGGGGGGGGGGGGGGHHHHHHHHHH!!!!!!!!!!"...
  24. After the initial shock wears off, and you wade through the doc's, you begin
  25. to feel quite lost, wondering why you ever even thought of this outlandish idea
  26. in the first place. There's no way you can make this work, or even begin to
  27. take time off from your day job to start the process of trying to make some
  28. sense of all of that mess. Then you remember that it HAS been done, so it CAN'T
  29. be THAT difficult. Guess what... You're right!! The first thing you should do
  30. is set up the Binkley.Cfg file for your system. When you use your favorite text
  31. editor, you will see that the .CFG file for Binkley is well-commented with brief
  32. explanations for each part of the file. Use these for a guide. Let me show you
  33. some of my setup in this file.
  34.  
  35.                                Binkley.Cfg
  36.  
  37. The Binkley.Cfg file is divided into 2 parts. The first part is to set it up
  38. for your system. Here is mine:
  39. ; ----------------------------------------------------------------------------
  40. ;
  41. Port      1       ; This is for the com port assignment.
  42. Baud      19200   ; My Locked Baud rate. Also need to set the "&B2" and
  43.                   ; "S27=127" in the NRAM for a USR modem.
  44. Carrier   80      ; Standard carrier mask, this works for me.
  45. ; NOTE!  Refer to BT_REF.DOC for dial translation characters
  46. Init |ATZ||       ; This is the modem Init string that I use, since I have
  47.                   ; input the modem init string to the USR NRAM, used to begin
  48.                   ; the Unattended Mailer portion of Binkley.
  49. TermInit |ATZ||   ; This is the init string to use Binkley as a Dumb Terminal.
  50. Prefix    ATDT    ; This is the dialing prefix, pretty self-explanatory.
  51. ; Suffix
  52. Busy     |ATM0H1| ; This is for when you use F1 to exit Binkley, busies the
  53.                   ; modem.
  54. ; WARNING!  Refer to BT_REF.DOC for details about 'Answer' statement!
  55. Answer   ATA||    ; This is to make the modem answer the phone.
  56. ; PreDial    `
  57. ; PreInit    |v``^``
  58. ; ModemTrans 1 prefix/suffix     ; HST
  59. ; ModemTrans 2 prefix/suffix     ; PEP
  60. ; ModemTrans 3 prefix/suffix     ; HST or PEP
  61. ; DTRHigh
  62. ; Protocol   c:\opus\kermit.exe
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ; Serial
  71. StatusLog    c:\LOG\binkley.log  ; This tells Binkley where to write its log.
  72. Downloads    c:\up\   ; This tells Binkley where to put any downloads you get
  73.                       ; from using Binkley in the Dumb Terminal mode.
  74. ;CaptureFile  c:\binkley\session.log
  75. LogLevel 5       ; This tells Binkley how much info to put into the log file.
  76.                  ; Level 5 is the most info, comes in handy for debugging your
  77.                  ; setup or someone elses.
  78. Gong             ; Used in Dumb Terminal mode to signal connects, end of file
  79.                  ; transfers, etc.
  80. ; Rev3
  81. ; SlowModem
  82. ;LockBaud 19200  ; Refer to the Binkley doc's to see how to use this feature to
  83.                  ; give you a floating/locked baud connect. There's some things
  84.                  ; even I won't try (yet!).
  85. AutoBaud         ; Used to dial at the locked baud rate.
  86. ; TaskView
  87. ; TopView
  88. ; MultiLink
  89. ; NOTE!  In the next statement, Alt-F1 would send "Name" + carriage return
  90. ; Macro 1 Name|
  91. ; NOTE!  In the next statement, Alt-F2 would send "Password" + carriage return
  92. ; Macro 2 Password|
  93. ; Include suplmnt.cfg
  94. ; Application Amax Direct
  95. ; AnswerBack My Name|
  96. PollTries 60                ; Used to tell Binkley how many times to call in a
  97.                             ; row if polling someone.
  98. ; SwapDir f:\ramdisk\
  99. ;
  100. ; ----------------------------------------------------------------------------
  101.  
  102.      See, that wasn't so hard, was it. (he he he!) OK, now on to the second
  103. half of the config file. This is where you put in your systems info.
  104.  
  105.                              Binkley.Cfg continued...
  106.  
  107. ; ----------------------------------------------------------------------------
  108. ;
  109. System    John's Workshop
  110. Sysop     John Clawson
  111. Address   1:109/600.0@fidonet.org  ; Address (FIDONet Zone:Net/Node)
  112. Address   1:109/604.0@fidonet.org  ; Also-known-as address
  113. ;Address   99:1234/5678.0@eggnet.ftn        ; Address for eggnet Zone 99
  114. ;NoZones
  115. ; PrivateNet 9999
  116. ; Boss      9999/9999
  117. ; BossPhone 555-1234
  118. ; BossPwd   Password
  119. NetMail   c:\net\       ; Where my Netmail *.Msg (FIDO format) files are kept.
  120. NetFile   c:\sf\file1\  ; My Inbound files area, for ALL inbound stuff, mail
  121.                         ; AND files.
  122. ; KnownInbound c:\binkley\fileknow\
  123. ; ProtInbound  c:\binkley\fileprot\
  124. Hold      c:\sf\outbound\            ; Outbound mail holding area
  125. ;
  126. Domain fidonet.org fidonet nodelist  ; Tells Binkley what organization I'm in.
  127. ; Domain alternet.ftn alternet anetlist
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135. ; Domain eggnet.ftn eggnet egglist
  136. ;
  137. Nodelist  c:\sf\nodelist\  ; Where I keep my copy of all of the nodelist files.
  138. Version6                   ; What type of Nodelist I use.
  139. ; Version7
  140. ; Dial 1-404- "GA_PCP.SCR"404/     ; Example of dial translation
  141. ; Dial 1-603-888 888/              ; Example of dial translation
  142. ScriptPath c:\sf\          ; Some modems are just a pain to connect with, so if
  143.                            ; you wind up using a script, this is how you let
  144.                            ; Binkley know where to find them.
  145. Reader    c:\sf\reader.bat ; I use MsgEd, ver 2.07, as my offline reader, and
  146.                            ; this is how I let Binkley know how to run it.
  147. ; Overwrite
  148. Unattended                 ; This tells Binkley to run as a Mailer system.
  149. ; NoFullScreen
  150. BoxType 2                  ; This tells Binkley how to look on the monitor.
  151. ;Colors 113 30 30 30 31 31 113 15 ; Requires VFOSSIL
  152. Mark_Kromm        ; Requires VFOSSIL, and is just a color preference.
  153. ScreenBlank       ; Requires VFOSSIL, blanks the screen after xx amount of time.
  154. ScreenBlank Call  ; Requires VFOSSIL, keeps screen blank on mail-only calls.
  155. BlankWait 60      ; Time in seconds to wait before blanking screen.
  156. ; CursorCol 1
  157. ; CursorRow 1
  158. ; NoSlo
  159. ;SmallWindow
  160. StartBlkLen 1024  ; Used to specify the starting block lenth for ZModem
  161.                   ; transfers, most times smaller is better if noisy lines are
  162.                   ; a problem.
  163. Okfile     c:\sf\1\okfile.lst  ; Tells Binkley where to look for a list of
  164.                                ; files and areas that are OK for File Request.
  165. Avail      c:\up\allfiles.txt  ; Tells Binkley where to find the File List to
  166.                                ; send if someone requests "FILES".
  167. About      c:\sf\1\about.doc   ; If there is a problem with either of the 2
  168.                                ; above.
  169. MaxReq     5                   ; How many files to allow at one time for a
  170.                                ; file request.
  171. ;MaxBytes   400000
  172. ;MaxTime    30
  173. ; KnownReqList  c:\binkley\okfile2.txt
  174. ; KnownAvail    c:\binkley\myfiles2.arc
  175. ; KnownAbout    c:\binkley\mysys2.txt
  176. ; KnownReqLim   5
  177. ; KnownMaxBytes 600000
  178. ; KnownMaxTime  45
  179. ; ProtReqList   c:\binkley\okfile3.txt
  180. ; ProtAvail     c:\binkley\myfiles3.arc
  181. ; ProtAbout     c:\binkley\mysys3.txt
  182. ; ProtReqLim    15
  183. ; ProtMaxBytes  1000000
  184. ; ProtMaxTime   60
  185. ; NoRequests
  186. ReqOnUs                         ; Allows someone to do file requests on your
  187.                                 ; system.
  188. ReqTemplate c:\sf\sample.tpl    ; What to send if the file request fails.
  189. ; KnownReqTpl c:\binkley\known.tpl
  190. ; ProtReqTpl  c:\binkley\prot.tpl
  191. ; NoPickup
  192. ; NoSharing
  193. ;RingTries 4
  194. ;SameRing        ; IF YOU HAVE BINKLEY SET TO ANSWER THE PHONE, AND NOT THE
  195.                  ; MODEM ( S0=0 in the Init String) LEAVE THIS COMMENTED OUT!!
  196. NoCollide        ; Disallows Call Collision.
  197. ; Shell 1 Sysopus     ; Alt-F1 would send "Sysopus" to COMMAND.COM
  198. ; Shell 2 Amax        ; Alt-F2 would send "Amax" to COMMAND.COM
  199.  
  200.  
  201. Timeout 20       ; How long to wait before assuming a human caller is on and
  202.                  ; waiting to enter the BBS.
  203. Banner Welcome to John's Workshop, A SPITFIRE BBS! ; What to output when a
  204.                                                    ; human caller is on.
  205. BBSNote Thank you.  Now loading BBS. Hang on a minute........   ; What to say
  206.                                       ; when loading the BBS software.
  207. DoingMail Sorry, we're not available right now.  Processing mail only.  ; What
  208.                             ; to tell human callers when doing Mail-Only stuff.
  209. EnterBBS Either press your Escape key, or wait till the BBS decides to load...
  210.   ; The above line tells a Human caller to press his/her Escape key to
  211.   ; activate the BBS software, or wait for Binkley to Timeout to go to the BBS.
  212.  
  213. ; ExtrnMail 140 Gimme UUCP
  214. ; ExtrnMail 150 Gimme WidgetLink
  215. ; MailNote  Now loading UUCP...please wait...
  216. BBS Exit   ; This is how to tell Binkley to Exit to the BBS software.
  217. ; BBS Spawn
  218. ;BBS Batch
  219. ; AfterMail   Unpack.Bat
  220. ; CleanUp     Scrub.Bat
  221. ; Packer      Pack.Bat
  222. ; NoWaZOO
  223. ;
  224. Janusbaud 2400   ; This allows Binkley to use a 2 way protocol, similar to
  225.                  ; BiModem, for mail/file transfers. See the Binkley Doc's for
  226.                  ; more info on this feature.
  227. JanusOK /Arq/V32
  228. JanusOK /V32
  229. ;
  230. ; TaskNumber 1
  231. ; Flags c:\binkley\flags
  232. ;
  233. ; ----------------------------------------------------------------------------
  234. ; Please refer to the documentation for more details on BinkleyTerm set-up...
  235. ; That's why there's documentation included in the package.
  236. ; ----------------------------------------------------------------------------
  237.  
  238.  
  239. That's all there is to that one. Now take a break, go out and settle your
  240. nerves, and then we'll get into some more.
  241.  
  242.                            Binkley.Evt
  243.  
  244. OK, now that you're back, we'll get into the Binkley.Evt file. This is the most
  245. important file that Binkley uses, so you have to set it up correctly for it to
  246. work properly. You will notice that the Binkley.Evt file is also a well
  247. commented file, but don't use the one supplied, it may not let your system run
  248. the way you want.
  249.  
  250.  
  251.                                Binkley.Evt
  252.  
  253. Event All 00:00 01:15 L=1 B A=60 T=5,99 E1=4 E2=90    ; Latenight
  254. Event All 01:15 03:00 L=1 B A=60 E1=1 E2=90    ; Latenight
  255. Event Mon|Tue|Wed|Thu|Fri|Sat 03:00 04:00 M L=1 B A=30 E1=50 E2=90 ;EventM
  256. Event Sun 03:00 04:00 M L=1 A=30 E1=40 E2=90   ; Event I
  257. Event All 04:00 06:00 M L=1 N A=30 T=5,99 X E1=1 E2=90    ; Callers before (NMH)
  258. Event All 06:00 24:00 L=0 B A=900 E1=1 E2=90    ; Normal BBS Use
  259.  
  260.  
  261. First thing you'll probably notice is that the first event starts at 00:00,
  262. which is midnight. Binkley is a VERY late riser, and starts the day at mid-
  263. night, so you'll have to accomodate him that way. Now, let's go over the line
  264. structure so that it'll make a little sense.
  265.  
  266.  
  267. Event All 00:00 01:15 L=1 B A=60 T=5,99 E1=4 E2=90    ; Latenight
  268.  
  269. OK, first you have to tell Binkley that it's an event, so start the line that
  270. way (he he he!). Next, tell it which days to run it on. "All" means just
  271. exactly that, all seven days of the week. Next, what time(s) does the event
  272. cover? In mine, you see that the time goes from Midnight to 1:15 AM. This is
  273. the time I've set aside to specifically try to reach my local Star Hub to pick
  274. up and deliver the mail. The "L" stands for the cost factor, which is inserted
  275. into the Nodelist by whatever program you are using to parse the nodelist. I
  276. use and HIGHLY RECOMMEND a file called PLST_133.LZH, by Bill Andrus, 1:109/301,
  277. as your nodelist parser. It is great, and made to not run out of memory as the
  278. nodelist grows. It is available on the SDN network as PLST_133.LZH also, so try
  279. to pick it up if you can. If not, call my system and download it or File
  280. Request it from me. Now, back to the .Evt file. If you use the "=" sign in the
  281. cost area, Binkley will only make calls out to nodes with a cost factor of 'n',
  282. with 'n' as whatever you put in after the "=" sign. Since I used a 1, it will
  283. only call nodes with a cost factor of 1 or less. Local calls are a cost factor
  284. of 0 on my system, so that covers about all of the calls I normally make. You
  285. can also use either "<" or">" , but the "=" is what has worked best for me. Next
  286. you see the "B", which means that normal BBS calls are also accepted. This is
  287. so my users can also get online after midnight and take turns in whatever door
  288. trips thier trigger, since that is the first turn of the day, and they get the
  289. jump on everybody else (except me, of course. Sysops need fun, too!)! Next is
  290. the "A=60" which is telling Binkley how much time to wait between call tries.
  291. 60 means wait one minute so that means whatever number you put in will be the
  292. number of seconds (approximately) that Binkley will wait between tries. Note
  293. the T=5,99 which comes next. That tells Binkley that it can make 99 calls to
  294. any node, but if it has 5 bad connects; i.e. connect but no response, or any
  295. other problem with the connect, then it marks that node as Down and will not
  296. try to connect again. Now comes the fun part (evil grin!!), defining what
  297. errorlevel drop to make when. the E1=4 means to do whatever is defined as
  298. errorlevel 4 in the batch file, as the E2=90 means to do whatever is defined as
  299. errorlevel 90. Once you study my batch file, you'll see that it's not that hard
  300. to understand. Finally, you see the "; Latenight" at the end. Binkley ignores
  301. anything following the ";" so that means nothing to it. It's just there for me.
  302.  
  303.  
  304. Now let's look at the maintenance times I have set aside, and why I have them
  305. that way.
  306.  
  307. Event Mon|Tue|Wed|Thu|Fri|Sat 03:00 04:00 M L=1 B A=30 E1=50 E2=90 ;EventM
  308. Event Sun 03:00 04:00 M L=1 A=30 E1=40 E2=90   ; Event I
  309.  
  310. First, notice that I have used a different opening statement here, in that one
  311. line has started with all of the days of the week except Sunday, and the next
  312. line just has Sunday. The reason for that is simple, really. I have a
  313. statistical program that I want to run just once a week, so I have set that up
  314. to run in the batch file by using different errorlevel drops to the proper
  315. event. If you wanted to, you could configure Binkley to run an event just once
  316. in a year, but I don't think that I need to cover that here, since the idea
  317. here is to just cover the basics to get you up and running. Next, notice the
  318. "M" in the line, which tells Binkley that it's OK to try to reach the nodes
  319. that are not marked as Crash Mail capable in the nodelist. If your system does
  320. not accept mail on a continuous basis, then you are not crash mail capable, and
  321. can only be reached in the National and Local mail hours, which I'll cover
  322. shortly. Anyway, after the maintenance event has finished, if there is any time
  323. left, then Binkley will try to make any calls it can before National Mail and
  324. Local Mail Hours are in place, which is in the next event.
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333. Event All 04:00 06:00 M L=1 N A=30 T=5,99 X E1=1 E2=90    ; Callers before (NMH)
  334.  
  335. OK, now to the heart of it all. FIDONet has set aside 2 hours per day to get
  336. mail to ALL nodes, and it is a time that the BBS is not allowed to run, since
  337. users could conceivably be on the whole 2 hours and keep the mail from getting
  338. through, and if the BBS is a very busy one during the day, your mail might not
  339. get in or out at all for days. That's why you see the letter "N" and no letter
  340. "B" in this event. The letter "N" stands for National mail hour. "But", you
  341. say, "You have 2 hours marked here!". A very astute observation on your part!
  342. The reason for that is simple. National Mail Hour changes with the time
  343. changes in Fall and Spring. On the East coast, it will flip-flop with Local
  344. Mail Hour, so to keep it as simple as possible, I have just blocked out 2 hours
  345. for mail. All I have to do now is just set the clock in the computer to the
  346. correct time for my local area, and my National and Local mail hours will be
  347. right no matter if I am in Daylight Savings or Standard time. This brings me to
  348. another point, and that is in the Autoexec.Bat file. You will need to set a
  349. time statement in it like this:
  350.                                  SET TZ=EST+05
  351. so that Binkley will know what time zone you're in. The above statement
  352. translates to "Set The TimeZone to Eastern Standard Time + 05 hours" which
  353. Binkley needs to be able to figure out Greenwich Mean Time. Just trust me on
  354. this one. The letters "M" and "X" tell Binkley that the event is a Mail Only
  355. event (M), and not to send any Outbound File Requests (X) since most systems
  356. will refuse a file request during Mail Hour anyway.
  357.  
  358.  
  359. The final line in the event file is the normal, rest-of-the-day BBS/Mail use of
  360. the system.
  361.  
  362. Event All 06:00 24:00 L=0 B A=900 E1=1 E2=90    ; Normal BBS Use
  363.  
  364. This tells Binkley that from 6:00 to Midnight, only make calls to the local
  365. calling area, L=0 (calls with a cost of -0- in the nodelist, usually just your
  366. local calling area.), allow BBS use, B, only make outgoing calls every 900
  367. seconds, A=900.
  368.  
  369. OK, take another break, then let's get into combining BinkleyTerm with Spitfire
  370. and see what you can do with Errorlevel drops in a batch file.
  371.  
  372.  
  373.  
  374.                                 SF.BAT
  375.  
  376. Alright, now you need to configure the batch file for Spitfire to be able to
  377. run this mess <grin> you've decided to get yourself into. Take a look at the
  378. first part of my SF.Bat file:
  379.  
  380. echo off
  381. bnu /R=3072 /T=1024 /L:0=19200,8N1 /F
  382. d:\dv\vfos_dv.com
  383.  
  384. In order to work, BinkleyTerm needs a FOSSIL driver for the com port, and a
  385. video FOSSIL for the monitor. I have found that the easiest FOSSIL to use for
  386. the com port end of the business is one called BNU170.ZIP. It provides the user
  387. with the choice of either a .SYS or .COM driver, and the doc's are pretty good.
  388. The second line of my batch file is where I set up the FOSSIL for use. I'm
  389. telling it to set the Receive buffer to 3072 bytes, the Transmit buffer to
  390. 1024 bytes, and to lock the com port to 19200 baud, with Fast ANSI. I have a USR
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399. Dual Standard modem, and the fastest speed that my UART chip can handle reliably
  400. is 19200 baud. I have a 16450 UART, yours may differ. The second line is where
  401. I am telling the video FOSSIL to work. I use the video FOSSIL (public domain)
  402. VFOS_DV.COM, which is meant for the program DesqView. It's a great program, and
  403. requires very little memory. Now let's see what I've done with the rest of the
  404. SF.Bat file and Errorlevel drops. You will see a line that says "brk on", this
  405. is a Control Break driver that is used to keep not-nice users from breaking
  406. into my Dos level from, say, an external protocol batch file. Mike Woltz covers
  407. this in the doc's for Spitfire, and it makes for "GOOD READING" (hint, hint!).
  408. Next you see a Batch file Lable, ":LOOP". Somewhere in the batch file it will
  409. refer to this label as a place for the program to go when it is finished with
  410. whatever task it is doing. Next come the various errorlevels, which you will
  411. notice are in a decreasing level; i.e. 100, 96, 90, etc. Now you need to look
  412. at the Binkley.Evt file to see where the various errorlevels go. The only one
  413. that doesn't seem to fit is 1, which according to the batch file seems to just
  414. go to the end. However, Binkley just drops to the BBS with this setup because
  415. it is actually using either an Errorlevel of 100 for a Local logon or 96 for a
  416. BBS caller. The E1=1 is what Binkley is looking at for the start of the event,
  417. E2=90 for Mail, and anything after that is considered BBS use, unless you
  418. configure it differently. (By the way, you can use the function keys to do a
  419. local logon with this setup, hitting F10 to log on, F9 to handle mail, etc.
  420. Just thought I'd throw that in.)
  421.  
  422. Event All 00:00 01:15 L=1 B A=60 T=5,99 E1=4 E2=90                 ; Latenight
  423. Event All 01:15 03:00 L=1 B A=60 E1=1 E2=90                        ; Latenight
  424. Event Mon|Tue|Wed|Thu|Fri|Sat 03:00 04:00 M L=1 B A=30 E1=50 E2=90 ;EventM
  425. Event Sun 03:00 04:00 M L=1 A=30 E1=40 E2=90                       ; Event I
  426. Event All 04:00 06:00 M L=1 N A=30 T=5,99 X E1=1 E2=90             ; (NMH)
  427. Event All 06:00 24:00 L=0 B A=900 E1=1 E2=90                       ; Normal BBS
  428.  
  429.  
  430. brk on
  431. :LOOP
  432.    C:
  433.    CD\SF
  434.    bt
  435.    IF ERRORLEVEL 100 GOTO SPITL
  436.    IF ERRORLEVEL 96 GOTO SPIT96
  437.    IF ERRORLEVEL 90 GOTO MAIL
  438.    IF ERRORLEVEL 80 GOTO EVENT_P
  439.    IF ERRORLEVEL 50 GOTO EVENT_M
  440.    IF ERRORLEVEL 40 GOTO EVENT_I
  441.    IF ERRORLEVEL 24 GOTO SPIT96
  442.    IF ERRORLEVEL 12 GOTO SPIT96
  443.    IF ERRORLEVEL 11 GOTO END
  444.    IF ERRORLEVEL 10 GOTO END
  445.    IF ERRORLEVEL 4 GOTO IMPCYCLE
  446.    IF ERRORLEVEL 3 GOTO SPIT96
  447.    IF ERRORLEVEL 1 GOTO EXP
  448.    IF ERRORLEVEL 0 GOTO END
  449.  
  450. OK, now you see the BT after the CD\SF? That starts BinkleyTerm. The various
  451. errorlevels just tell it what type of Exit to make for each condition defined.
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465. Now the rest of the batch file is pretty standard SF.Bat stuff, but you will
  466. notice that I only have defined a baud rate and com port for the Spitfire
  467. portion of the file, and have not put in an Init command; i.e. /I19200. The
  468. reason for that is that the modem is already Init'ed from Binkley, so if I
  469. Init the modem again, I will dump the caller. Another thing that you'll notice
  470. is that I don't use an SFInit.Bat file, or anything else. ALL OPERATIONS, SUCH
  471. AS MAINTENANCE, DOORS, ETC., ARE CONTROLLED BY THE SF.BAT FILE! The reason for
  472. this is that I use a program called Bat2Exec.Exe to compile the batch file into
  473. a .Com file, and then I load this into High Memory through the Autoexec.Bat
  474. file at boot-up. In this manner, I save conventional memory AND speed up the
  475. operation of the BBS at the same time! It works for me...
  476.  
  477. :SPIT96
  478.    SPITFIRE 19200 /C1
  479.    IF ERRORLEVEL 57 GOTO DOOR_Z
  480.    IF ERRORLEVEL 56 GOTO DOOR_Y
  481.    IF ERRORLEVEL 55 GOTO DOOR_X
  482.    IF ERRORLEVEL 54 GOTO DOOR_W
  483.    IF ERRORLEVEL 53 GOTO DOOR_V
  484.    IF ERRORLEVEL 52 GOTO DOOR_U
  485.    IF ERRORLEVEL 51 GOTO DOOR_T
  486.    IF ERRORLEVEL 50 GOTO DOOR_S
  487.    IF ERRORLEVEL 49 GOTO DOOR_R
  488.    IF ERRORLEVEL 48 GOTO DOOR_P
  489.    IF ERRORLEVEL 47 GOTO DOOR_O
  490.    IF ERRORLEVEL 46 GOTO DOOR_N
  491.    If ERRORLEVEL 45 GOTO DOOR_M
  492.    If ERRORLEVEL 44 GOTO DOOR_L
  493.    If ERRORLEVEL 43 GOTO DOOR_K
  494.    If ERRORLEVEL 42 GOTO DOOR_J
  495.    If ERRORLEVEL 41 GOTO DOOR_I
  496.    If ERRORLEVEL 40 GOTO DOOR_H
  497.    If ERRORLEVEL 39 GOTO DOOR_F
  498.    If ERRORLEVEL 38 GOTO DOOR_E
  499.    If ERRORLEVEL 37 GOTO DOOR_D
  500.    If ERRORLEVEL 36 GOTO DOOR_C
  501.    If ERRORLEVEL 35 GOTO DOOR_B
  502.    If ERRORLEVEL 34 GOTO DOOR_A
  503.    IF ERRORLEVEL 1 GOTO EXP
  504.    IF ERRORLEVEL 0 GOTO EXP
  505.    IF ERRORLEVEL  0 GOTO END
  506.  
  507. Now in the section below for the Local Logon stuff, you see the doors are
  508. labled as, say, Door_A4. This doesn't mean that you need to have 2 door
  509. directories for each door!! It just is a trick with the Errorlevels and batch
  510. programming to keep things flowing smoothly.
  511.  
  512. :DOOR_D
  513.    REM DM S QBBS C:\SF\ C:\SF\DOOR_D\
  514.    SFRBBSDR /P C:\SF\DOOR_D /B JOHN'S WORKSHOP /S JOHN CLAWSON
  515.    CD\SF\DOOR_D
  516.    DWARZ
  517.    CD\SF
  518.    GOTO SPIT96
  519. :DOOR_D4
  520.    SFRBBSDR /P C:\SF\DOOR_D /B JOHN'S WORKSHOP /S JOHN CLAWSON
  521.    REM DM S QBBS C:\SF\ C:\SF\DOOR_D\
  522.    CD\SF\DOOR_D
  523.    DWARZ
  524.    CD\SF
  525.    GOTO SPITL
  526.  
  527.  
  528.  
  529.  
  530.  
  531. See, you just use the label to send the batch file to the right spot. After that
  532. the commands for the door are the same (unless the door runs differently in
  533. Local Mode).
  534.  
  535.  
  536. :SPITL
  537.    SPITFIRE 0
  538.    IF ERRORLEVEL 57 GOTO DOOR_Z4
  539.    IF ERRORLEVEL 56 GOTO DOOR_Y4
  540.    IF ERRORLEVEL 55 GOTO DOOR_X4
  541.    IF ERRORLEVEL 54 GOTO DOOR_W4
  542.    IF ERRORLEVEL 53 GOTO DOOR_V4
  543.    IF ERRORLEVEL 52 GOTO DOOR_U4
  544.    IF ERRORLEVEL 51 GOTO DOOR_T4
  545.    IF ERRORLEVEL 50 GOTO DOOR_S4
  546.    IF ERRORLEVEL 49 GOTO DOOR_R4
  547.    IF ERRORLEVEL 48 GOTO DOOR_P4
  548.    IF ERRORLEVEL 47 GOTO DOOR_O4
  549.    IF ERRORLEVEL 46 GOTO DOOR_N4
  550.    If ERRORLEVEL 45 GOTO DOOR_M4
  551.    If ERRORLEVEL 44 GOTO DOOR_L4
  552.    If ERRORLEVEL 43 GOTO DOOR_K4
  553.    If ERRORLEVEL 42 GOTO DOOR_J4
  554.    If ERRORLEVEL 41 GOTO DOOR_I4
  555.    If ERRORLEVEL 40 GOTO DOOR_H4
  556.    If ERRORLEVEL 39 GOTO DOOR_F4
  557.    If ERRORLEVEL 38 GOTO DOOR_E4
  558.    If ERRORLEVEL 37 GOTO DOOR_D4
  559.    If ERRORLEVEL 36 GOTO DOOR_C4
  560.    If ERRORLEVEL 35 GOTO DOOR_B4
  561.    If ERRORLEVEL 34 GOTO DOOR_A4
  562.    IF ERRORLEVEL 1 GOTO EXP
  563.    IF ERRORLEVEL 0 GOTO EXP
  564.  
  565.  
  566. Now, let's take care of some mail!! The first thing you see is that I CD to a
  567. Door directory. The reason for that is to run a program that looks for an
  568. incoming file for a game that I run called Dragon Wars, which allows for not
  569. only play on my BBS, but also play from another BBS as well! But enough of the
  570. advertisements. Remember I mentioned the nodelist? That's the list of every-
  571. body in FIDONet, and it is updated weekly. I have set up my system so that if
  572. a new Nodediff comes in, my system will automatically process it, without any
  573. intervention on my part. Since I'm in the Navy and have to travel sometimes, my
  574. system needs to be able to run itself, and do it stably and reliably, and this
  575. is why I have set up the automatic nodelist processing. As a Hub, I have to
  576. keep abreast of all changes in the list. That is what the first three lines do
  577. after I CD to the Mail directory. First I copy the New Nodediff (if it exists)
  578. to a holding directory and get it out of the inbound mail directory. Then it
  579. is unARChived, placed in the Nodelist directory, the old nodelist is unZIPped,
  580. placed in the nodelist directory, then I call a batch file to process the new
  581. nodelist. After it's all done, I then delete the nodediff file from the inbound
  582. directory.
  583.  
  584.  
  585. :MAIL
  586.    CD\SF\DOOR_D
  587.    IF EXIST \SF\FILE1\*.0 DWARZNET
  588.    CD\SF\MAIL
  589.    IF EXIST C:\SF\FILE1\NODEDIFF.A* COPY C:\SF\FILE1\NODEDIFF.* C:\SF\FILE
  590.    IF EXIST C:\SF\FILE1\NODEDIFF.A* COPY C:\SF\FILE1\NODEDIFF.* C:\SF\NODELIST
  591.    IF EXIST C:\SF\NODELIST\NODEDIFF.A* CALL C:\SF\NODELIST\PLIST.BAT
  592.    DEL C:\SF\FILE1\NODEDIFF.*
  593.  
  594.  
  595.  
  596.  
  597. Next, I need to forward certain files that come in through the mail to the
  598. other nodes that feed off of me. I use a program called Mail Robot to do that.
  599. It's easy to set up, reliable, and I like it.
  600.  
  601.    MR \SF\FILE\NODEDIFF.* \SF\MAIL\NODEDIFF.DST -c -k \SF\MAIL\NODEDIFF.STP
  602.    MR \SF\FILE1\FNEWS???.* \SF\MAIL\NODEDIFF.DST -c -k \SF\MAIL\FNEWS.STP
  603.    MR \SF\FILE1\NLIST???.* \SF\MAIL\NODEDIFF.DST -c -k \SF\MAIL\NLIST.STP
  604.    MR \SF\FILE1\KLORE???.* \SF\MAIL\NODEDIFF.DST -c -k \SF\MAIL\KLORE.STP
  605.    MR \SF\FILE1\DCBB????.* \SF\MAIL\NODEDIFF.DST -c -k \SF\MAIL\DCBB.STP
  606.    MR \SF\FILE1\SMBB????.* \SF\MAIL\NODEDIFF.DST -c -k \SF\MAIL\SMBBS.STP
  607.    MR \SF\FILE1\SYSOP109.AR? \SF\MAIL\NODEDIFF.DST -c -k \SF\MAIL\SYS109.STP
  608.  
  609. Next comes Dogfight, a God-send from Chris Tyson to Spitfire Sysops that want
  610. to be in FIDONet. It imports mail to and exports mail from Spitfire to a
  611. FIDONet compatible message style (*.MSG format).
  612.  
  613.    DFDECOMP C:\SF\FILE1\
  614.    XCOPY C:\SF\MAIL\*.PKT C:\SF\FILE1
  615.    DFIMPORT
  616.    DFEXPORT L DFCFG.001
  617.    DFEXPORT L DFCFG.002
  618.    DFEXPORT L DFCFG.003
  619.    DFEXPORT L DFCFG.004
  620.    DFEXPORT L DFCFG.005
  621.    DFEXPORT L DFCFG.006
  622.    DFEXPORT L DFCFG.007
  623.    DFEXPORT L DFCFG.008
  624.    DFEXPORT L DFCFG.009
  625.  
  626.  
  627. Next, I do the FIDONet areas that I don't keep on my board, but pass through
  628. to other nodes. I use a program called QMail for this.
  629.  
  630.    CD\SF\MAIL
  631.    QM TOSS SCAN PACK -Q
  632.    QM LINK -FC:\LOG\ECHOTOSS.LOG -Q
  633.    DEL C:\LOG\ECHOTOSS.LOG
  634.    GOTO LOOP
  635.  
  636.  
  637. In the maintenance events, you will see a section that goes like this:
  638.  
  639.    CD\SF\MAIL
  640.    ECHO RENUMBERING MESSAGES...
  641.    ECHO OFF
  642.    MSGNUM -N 1 40 -Q -R C:\600SYSOP
  643.    MSGNUM -N 1 20 -Q -R C:\AUTO109
  644.    MSGNUM -N 1 35 -Q -R C:\HUBCAP
  645.    MSGNUM -N 1 100 -Q -R C:\SYSOP109
  646.    MSGNUM -N 1 50 -Q -R C:\SYSCHAT
  647.    MSGNUM -N 1 150 -Q -R C:\RECOVERY
  648.    MSGNUM -N 1 50 -Q -R C:\LOCSPORT
  649.    MSGNUM -N 1 50 -Q -R C:\NETWIDE
  650.    MSGNUM -N 1 100 -Q -R C:\TELIX
  651.    MSGNUM -N 1 50 -Q -R C:\4SALE
  652.    MSGNUM -N 1 25 -Q -R C:\LOCAL-C
  653.    MSGNUM -N 1 50 -Q -R C:\USERCONF
  654.    MSGNUM -N 1 50 -Q -R C:\LOCSYSOP
  655.    MSGNUM -N 1 50 -Q -R C:\LOCDOOR
  656.    MSGNUM -N 1 50 -Q -R C:\TECHNET
  657.    MSGNUM -N 1 50 -Q -R C:\INTRUSR
  658.    MSGNUM -N 1 50 -Q -R C:\BILLNODE
  659.    MSGNUM -N 1 50 -Q -R C:\REVIEWS
  660.    MSGNUM -N 1 50 -Q -R C:\FRUGAL
  661.  
  662.  
  663.  
  664. What this is doing is to delete old messages in FIDONet-style format from the
  665. directories I keep them in. I use a program called MsgEd as an offline reader
  666. that is 100% FIDO compatible. This way, I don't have to log on locally to the
  667. BBS to read my mail. However, if I don't delete old messages, I would very
  668. soon run out of space for anything else on the drives. the program I use,
  669. MsgNum, takes care of this for me. The rest of the batch file is just stuff I
  670. run for the BBS, so I feel it needs no explanation. How are you doing so far?
  671.